package com.ruoyi.mapper.basic;

import com.ruoyi.domain.basic.MesBom;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * BOM主表Mapper接口
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
@Mapper
public interface MesBomMapper 
{
    /**
     * 查询BOM主表
     * 
     * @param bomId BOM主表主键
     * @return BOM主表
     */
    public MesBom selectMesBomByBomId(Long bomId);

    /**
     * 查询BOM主表列表
     * 
     * @param mesBom BOM主表
     * @return BOM主表集合
     */
    public List<MesBom> selectMesBomList(MesBom mesBom);

    /**
     * 新增BOM主表
     * 
     * @param mesBom BOM主表
     * @return 结果
     */
    public int insertMesBom(MesBom mesBom);

    /**
     * 修改BOM主表
     * 
     * @param mesBom BOM主表
     * @return 结果
     */
    public int updateMesBom(MesBom mesBom);

    /**
     * 删除BOM主表
     * 
     * @param bomId BOM主表主键
     * @return 结果
     */
    public int deleteMesBomByBomId(Long bomId);

    /**
     * 批量删除BOM主表
     * 
     * @param bomIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMesBomByBomIds(Long[] bomIds);

    /**
     * 校验BOM编码是否唯一
     * 
     * @param bomCode BOM编码
     * @return 结果
     */
    public MesBom checkBomCodeUnique(@Param("bomCode") String bomCode);

    /**
     * 根据产品编码查询BOM
     * 
     * @param productCode 产品编码
     * @return BOM列表
     */
    public List<MesBom> selectMesBomByProductCode(@Param("productCode") String productCode);
}